# 异常处理
# ________________异常处理________________
# 程序运行过程中如果错误就会报错,停止程序,提高程序健壮性

#exp:
# def div(a,b):
#     return a/b
# print(div(3/0))   #除数为0

# try:
#     x = div(5, 0)
# except Exception as e:
#     print('error')
# else:
#     print(x)

# try...except #用来处理程序运行中的异常
# try:
#     file=open('ddd.txt')
#     print(div(3/0))
# # except Exception as e:   #给异常起了个变量名e
# #     print('出错了')
# except (FileNotFoundError,ZeroDivisionError) as e:  #处理指定的类型的异常 值显示第一个错误
#     print('出错了')
#     print(e)


#___________finally__________
#值能有一个返回值,如果多个返回值就只能返回第一个,finally后返回finally
#可以设置无论如何都保存
# finally:
#     file.close()
#__注意事项
# def test(a,b):
#     x=a+b
#     return x
#     return 'hello'
# test(4,6)


def demo(a,b):
    try:
        x=a/b #错误的话x没有值
    except ZeroDivisionError:
    #     print('除数为0')      #返回None
    # else:
    #     return x
        return '除数为0'    #可以使用return  避免出现None
    return x
    # finally:    尽量不要用 会覆盖前面的
    #     return 'good' 

    
print(demo(6,2))
print(demo(6,0))



# ________________异常处理________________
# raise #自定义异常